Termination Proof Script

Consider the TRS R consisting of the rewrite rules
1:    active(zeros)  → mark(cons(0,zeros))
2:    active(tail(cons(X,XS)))  → mark(XS)
3:    active(cons(X1,X2))  → cons(active(X1),X2)
4:    active(tail(X))  → tail(active(X))
5:    cons(mark(X1),X2)  → mark(cons(X1,X2))
6:    tail(mark(X))  → mark(tail(X))
7:    proper(zeros)  → ok(zeros)
8:    proper(cons(X1,X2))  → cons(proper(X1),proper(X2))
9:    proper(0)  → ok(0)
10:    proper(tail(X))  → tail(proper(X))
11:    cons(ok(X1),ok(X2))  → ok(cons(X1,X2))
12:    tail(ok(X))  → ok(tail(X))
13:    top(mark(X))  → top(proper(X))
14:    top(ok(X))  → top(active(X))
There are 18 dependency pairs:
15:    ACTIVE(zeros)  → CONS(0,zeros)
16:    ACTIVE(cons(X1,X2))  → CONS(active(X1),X2)
17:    ACTIVE(cons(X1,X2))  → ACTIVE(X1)
18:    ACTIVE(tail(X))  → TAIL(active(X))
19:    ACTIVE(tail(X))  → ACTIVE(X)
20:    CONS(mark(X1),X2)  → CONS(X1,X2)
21:    TAIL(mark(X))  → TAIL(X)
22:    PROPER(cons(X1,X2))  → CONS(proper(X1),proper(X2))
23:    PROPER(cons(X1,X2))  → PROPER(X1)
24:    PROPER(cons(X1,X2))  → PROPER(X2)
25:    PROPER(tail(X))  → TAIL(proper(X))
26:    PROPER(tail(X))  → PROPER(X)
27:    CONS(ok(X1),ok(X2))  → CONS(X1,X2)
28:    TAIL(ok(X))  → TAIL(X)
29:    TOP(mark(X))  → TOP(proper(X))
30:    TOP(mark(X))  → PROPER(X)
31:    TOP(ok(X))  → TOP(active(X))
32:    TOP(ok(X))  → ACTIVE(X)
The approximated dependency graph contains 5 SCCs: {20,27}, {21,28}, {23,24,26}, {17,19} and {29,31}.
Tyrolean Termination Tool  (0.29 seconds)   ---  May 3, 2006